package models

import (
	"crypto/md5"
	"encoding/hex"
	"time"
)

func ConvertToTime(int_time int64) string {
	return time.Unix(int_time, 0).Format("2006-01-02 15:04")
}

//时间戳转化日期
func UnixToDate(timestamp int) string {

	t := time.Unix(int64(timestamp), 0)

	return t.Format("2006-01-02 15:04:05")
}

// 获取时间戳
func GetUnix() int64 {
	return time.Now().Unix()
}

//获取当前纳秒时间戳
func GetUnixNano() int64 {
	return time.Now().UnixNano()
}

// 获取当前日期时间
func GetDate() string {
	template := "2006-01-02 15:04:05"
	return time.Now().Format(template)
}

//获取日期
func GetDay() string {
	template := "20060102"
	return time.Now().Format(template)
}

// 字符串转化为md5
func Md5(str string) string {
	m := md5.New()
	m.Write([]byte(str))
	return string(hex.EncodeToString(m.Sum(nil)))
}

// 去除切片中重复的值
func DeleteDuplicateValue(s []int) (ret []int) {
	//fmt.Printf("s :%+v\n", s)
	tmpM := make(map[int]int) // key的类型要和切片中的数据类型一致
	for _, v := range s {
		tmpM[v] = 1
	}
	// 先清空s
	s = []int{}
	for i, _ := range tmpM {
		s = append(s, i)
	}
	return s
}
